package schema

import "errors"

// ResourceManagement 资源管理
type ResourceManagement struct {
	ID               int64  `json:"id" bson:"_id" structs:"id"`                                             //id
	RecordID         string `json:"record_id" bson:"record_id" structs:"record_id"`                         //记录编号
	ResourceName     string `json:"resource_name" bson:"resource_name" structs:"resource_name"`             //公共资源名称
	ClassificationID string `json:"classification_id" bson:"classification_id" structs:"classification_id"` //资源分类记录id
	Address          string `json:"address" bson:"address" structs:"address"`
	//	TODO 运营端需要设置price格式
	Price           int      `json:"price" bson:"price" structs:"price"`                                  //使用价格：分/小时
	Comment         string   `json:"comment" bson:"comment" structs:"comment"`                            //公共资源描述
	Manager         string   `json:"manager" bson:"manager" structs:"manager"`                            //联系人、负责人
	Telephone       string   `json:"telephone" bson:"telephone" structs:"telephone"`                      //联系电话
	AddressZone     string   `json:"address_zone" bson:"address_zone" structs:"address_zone"`             //所在区域，对应建筑中的区域节点(即 level_code的长度为4的节点)
	AvailableStatus int      `json:"available_status" bson:"available_status" structs:"available_status"` //资源可用状态	1->正常2->停用3->删除
	Pictures        []string `json:"pictures" bson:"pictures" structs:"pictures"`                         //图片url的数组
	AvailableTime   []int    `json:"available_time" bson:"available_time" structs:"available_time"`       //可预约时间：08时，09时
	Creator         string   `json:"creator" bson:"creator" structs:"creator"`                            //创建人
	Created         int64    `json:"created" bson:"created" structs:"created"`                            //创建时间戳
	Deleted         int64    `json:"deleted" bson:"deleted" structs:"deleted"`                            //删除时间戳
}

// Validate 参数校验方法
func (a *ResourceManagement) Validate() error {
	if a.ResourceName == "" || len(a.ResourceName) > 64 {
		return errors.New("无效的请求参数")
	}
	return nil
}

// RMQParams 查询条件
type RMQParams struct {
	RName   string `json:"r_name"`   //	资源名称
	ClassID string `json:"class_id"` //	资源分类id
	Address string `json:"address"`  //	地址
	Status  int    `json:"status"`   //	状态	1->正常2->停用3->删除
}

// Validate 参数校验方法
func (a *RMQParams) Validate() error {
	return nil
}
